Bienvenido a la Lección 7, donde presentamos Aprendizaje por Transferencia. Esta técnica consiste en reutilizar un modelo de aprendizaje profundo que ya ha sido entrenado con un conjunto de datos masivo y general (como ImageNet) y adaptarlo para resolver una nueva tarea específica (como nuestro desafío FoodVision). Es esencial para alcanzar resultados de vanguardia de manera eficiente, especialmente cuando los conjuntos de datos etiquetados son limitados.
1. El Poder de los Pesos Preentrenados
Las redes neuronales profundas aprenden características de forma jerárquica. Las capas inferiores aprenden conceptos fundamentales (bordes, esquinas, texturas), mientras que las capas más profundas combinan estas características en conceptos complejos (ojos, ruedas, objetos específicos). La clave está en que las características fundamentales aprendidas al principio son universalmente aplicables en la mayoría de los dominios visuales.
Componentes del Aprendizaje por Transferencia
- Tarea de Origen: Entrenamiento con 14 millones de imágenes y 1000 categorías (por ejemplo, ImageNet).
- Tarea Objetivo: Adaptar los pesos para clasificar un conjunto de datos mucho más pequeño (por ejemplo, nuestras clases específicas de FoodVision).
- Componente Aprovechado: La gran mayoría de los parámetros de la red—las capas de extracción de características—se reutilizan directamente.
Run code to inspect active tensors
The Input Feature size must match the output of the frozen base layer.
Size: 512.
The output size of 512 is the input, and the class count 7 is the output.
Code:
new_layer = torch.nn.Linear(512, 7)The Output Feature size must match the number of target classes.
Size: 7.